﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Venta_Automatica.Models;
using System.Net;
using System.IO;
using System.Web.Script.Serialization;
using System.Text;

namespace Venta_Automatica.Controllers
{
    public class TarjetaController : Controller
    {
        //
        // GET: /Tarjeta/

        List<TarjetaModels> objTarjeta = new List<TarjetaModels>();

        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Imprimir(ListarClienteModel model)
        {
            string postdata = "{\"dni\":" + model.dni + "}"; //JSON
            byte[] data = Encoding.UTF8.GetBytes(postdata);
            HttpWebRequest req = (HttpWebRequest)WebRequest
                .Create("http://localhost:2681/TarjetasService.svc/Clientes");
            req.Method = "PUT";
            req.ContentLength = data.Length;
            req.ContentType = "application/json";
            var reqStream = req.GetRequestStream();
            reqStream.Write(data, 0, data.Length);
            HttpWebResponse res = null;
            res = (HttpWebResponse)req.GetResponse();
            StreamReader reader = new StreamReader(res.GetResponseStream());
            string tarjetaJson2 = reader.ReadToEnd();
            JavaScriptSerializer js2 = new JavaScriptSerializer();
            Cliente tarjetasObtenidos = js2.Deserialize<Cliente>(tarjetaJson2);
            model.dni=tarjetasObtenidos.dni;
            model.apePat=tarjetasObtenidos.apePat;
            model.apeMat=tarjetasObtenidos.apeMat;
            model.Direccion=tarjetasObtenidos.direccion;
            model.LineaCredito=tarjetasObtenidos.lineaCredito;
            model.Tarjeta=tarjetasObtenidos.tarjeta;

                    return View(model);
        }

       
        public ActionResult ImpresionTarjeta()
        {
            // Prueba de obtención de producto vía HTTP GET
            HttpWebRequest req2 = (HttpWebRequest)WebRequest
                .Create("http://localhost:2681/TarjetasService.svc/Clientes");
            req2.Method = "GET";
            HttpWebResponse res2 = (HttpWebResponse)req2.GetResponse();
            StreamReader reader2 = new StreamReader(res2.GetResponseStream());
            string tarjetaJson2 = reader2.ReadToEnd();
            //
            JavaScriptSerializer js2 = new JavaScriptSerializer();
            List<Cliente> tarjetasObtenidos = js2.Deserialize<List<Cliente>>(tarjetaJson2);

            ListarClienteModel tarjetaModel;
            List<ListarClienteModel> listaTarjetaModel = new List<ListarClienteModel>();
            //
            foreach (Cliente item in tarjetasObtenidos)
            {
                    tarjetaModel = new ListarClienteModel();
                    tarjetaModel.dni = item.dni;
                    tarjetaModel.Nombres = item.Nombre;
                    tarjetaModel.apePat = item.apePat;
                    tarjetaModel.LineaCredito = item.lineaCredito;
                    tarjetaModel.Tarjeta = item.tarjeta;
                    listaTarjetaModel.Add(tarjetaModel);
            }
            return View(listaTarjetaModel);
        }

    }


}
